新能源汽车相关微博的数据可视化分析
目录
在缓解全球变暖与能源危机的迫切需求下,全球汽车产业正处于转型升级的新阶段,新能源汽车的发展则是其中的重要一环,各国新能源汽车市场已相继步入发展上升期。在消费者主权的时代背景下,诸多企业逐渐意识到想要稳居市场、保持竞争优势,就必须做好消费者战略,所以消费者是新能源汽车市场非常重要的参与主体。对消费者购买行为的把握和预测有利于新能源汽车推广的政策与市场营销策略的制定,从而为新能源汽车的发展提供指导方向。截止2022年,中国新能源汽车连续7年产销全球第一,累计推广突破千万辆大关,累计渗透率也呈稳步上升趋势,已成为全球最大的新能源汽车市场。中国新能源汽车产业在市场规模、技术及国际竞争力方面具备一定优势,同时由于文化差异对中国消费者的影响,使其存在独有特征,所以有必要对中国新能源汽车消费者的特征进行研究。
本文通过对近六百位微博用户自2019年2月1日至2021年1月31日两年间发布的原微博样本进行分析,包括基础分析和文本分析两大部分,基础分析包括微博数随时间变化分析、性别分布随时间变化分析、地域分布分析、微博情绪随时间变化分析和热门微博举例,文本分析包括情感分析、关键词提取、LDA主题分析、词云分析。本文旨在提取中国新能源汽车消费者特征,为新能源汽车的进一步推广提供建议。
从原微博样本.csv中筛选数据,筛选条件为:微博内容包括“新能源”和“车”,再对筛选出来的内容用drop_duplicates()进行去重,将数据导出为新能源汽车相关微博数据.csv。代码如图1所示。
数据提取结果如图2所示。原始数据条数为664090条,经过条件筛选后的数据条数为2030条,去重清洗后的数据条数为2011条,表头项目包括微博内容、信息属性、发布日期、认证类型、地域、城市、性别、粉丝数、微博数、转、评、赞、话题、微博情绪、MD5-作者ID、MD5-mid。
基础分析包括微博数随时间变化分析、地域分布、热门微博举例、微博情绪随时间变化分析,主程序为main.py。
1. <a id="_Toc123679785"></a><a id="_Toc123679941"></a>微博数随时间变化
main.py调用number.py的方法number(),传入“发布日期”列的数据和out_path。
在number.py中,首先将时间格式从YYYY/MM/DD hh:mm通过调用getdate.py中的getdate()方法转换为YYYY/MM的格式,具体的转换过程为:用split(‘/’)进行分割,提取第0和第1项,然后用‘/’进行拼接。然后调用count.py中的count()方法统计每个日期出现的次数,保存为字典格式time_dic。最后将time_dic导入draw.py中的draw_line()方法绘制折线图,具体的绘制过程为:首先解决中文乱码问题,接着将dic.keys()作为横轴,dic.values()作为纵轴用plt.plot()进行绘制。上述代码见图4。
1. <a id="_Toc123679786"></a><a id="_Toc123679942"></a>性别分布随时间变化
main.py调用sex.py的方法sex(),传入“发布日期”、“性别”列的数据和out_path。
在sex.py中,首先将时间转换为YYYY/MM的格式,然后将dataframe分为“性别”为“男”的man_df和“性别”为“女”的woman_df。再使用count()统计每个日期出现的次数,保存为man_dic和woman_dic。最后将man_dic和woman_dic作为一个字典列表导入draw.py中的draw_stacked()方法绘制堆积面积图。上述代码见图5。
1. <a id="_Toc123679787"></a><a id="_Toc123679943"></a>地域分布
main.py调用area.py的方法area(),传入“地域”列的数据和out_path。
在area.py中,首先使用count()统计每个地域出现的次数,保存为area_dic。再将area_dic导入draw.py中的draw_map()方法绘制堆积面积图。绘制面积图使用的是pyecharts包中的Map方法,生成html格式的可交互地图。由于需要的省份名为全称,原数据中的省份名为简称,所以先要将简称转换为全称。然后将字典转换为元组的列表,使用map = Map()语句准备地图对象,然后使用set_global_opts()方法进行修饰,设置标题“微博数地域分布”,is_show=True显示省份名,is_piecewise=True显示分段,pieces置入分段信息,最后用map.add()添加数据,并设置地图为“china”,map.render()生成可交互的html地理图。上述代码见图6。
1. <a id="_Toc123679788"></a><a id="_Toc123679944"></a>微博情绪随时间变化
main.py调用emotion.py的方法emotion(),传入“微博情绪”、“发布日期”列的数据和out_path。
在emotion.py中,首先将时间转换为YYYY/MM的格式,然后将dataframe分为“微博情绪”分别为“喜悦”、“恐惧”、“中性”、“愤怒”、“悲伤”、“惊奇”的六个dataframe,再使用count()对每个dataframe统计每个日期出现的次数,保存为六个字典。最后将六个字典作为一个字典列表导入draw.py中的draw_stacked()方法绘制堆积面积图。上述代码见图7。
1. <a id="_Toc123679789"></a><a id="_Toc123679945"></a>热门微博
main.py调用hot.py的方法number(),传入数据和out_path。
在hot.py中,首先创建“转”、“评”、“赞”的和列sum,然后根据列sum进行降序排列,最后将前5行数据导出。上述代码见图8。
文本分析包括情感分析、分词、提取关键词、LDA主题模型、词云,主程序为text_analysis.py。图9展现了文本分析数据准备的代码,将微博内容提取,保存到微博内容.csv。
1. <a id="_Toc123679791"></a><a id="_Toc123679947"></a>情感分析
text_analysis.py调用sentiment.py的方法get_sentiment(),将输出的积极数据保存到positive.csv,消极数据保存到negative.csv。
在sentiment.py中,用snownlp包进行情感分析。snownlp是用Python写的一个中文情感分析的包,自带了中文正负情感的训练集,主要是评论的语料库。snownlp使用的是朴素贝叶斯原理来训练和预测数据。sentiment值大于等于0.6的属于积极,小于等于0.4的属于消极。然后将微博内容和sentiment值合并为dataframe格式,删除第一行空值后导出。上述代码见图10。
1. <a id="_Toc123679792"></a><a id="_Toc123679948"></a>分词
text_analysis.py调用fenci.py的方法fenci(),将输出的分词后数据保存到分词.csv、positive_分词.csv和negative_分词.csv。
在fenci.py中,用jieba包进行分词。首先用jieba.cut()进行分词,然后载入本地的停用词词库stopwords.txt。在初次尝试后,LDA模型导出的数据包括“##”、“http”、“月”、“日”等干扰信息,因此在多次修改stopwords.txt才排除干扰,得到理想的结果。上述代码见图11。
1. <a id="_Toc123679793"></a><a id="_Toc123679949"></a>提取关键词
text_analysis.py调用fenci.py的方法get_tags(),导入分词后数据,将输出的关键词数据保存到关键词.txt、positive_关键词.txt和negative_关键词.txt。
在fenci.py中,用jieba包进行分词。用jieba.analyse.extract_tags()提取关键词,提取前20个关键词、前10个名词关键词、前10个动词关键词和前10个形容词关键词。上述代码见图12。
1. <a id="_Toc123679794"></a><a id="_Toc123679950"></a>LDA主题模型
text_analysis.py调用LDA.py的方法LDA(),导入分词后数据,将输出的关键词数据保存到LDA.txt、positive_LDA.txt和negative_LDA.txt。
在LDA.py中,用gensim包进行分词。主题模型在机器学习和自然语言处理等领域是用来在一系列文档中发现抽象主题的一种统计模型。LDA是一种文档生成模型,一篇文章是有多个主题的,而每个主题又对应着不同的词。上述代码见图13。
1. <a id="_Toc123679795"></a><a id="_Toc123679951"></a>词云图
text_analysis.py调用word_cloud.py的方法word_cloud(),导入分词后数据,输出三个词云图。
在word_cloud.py中,用wordcloud包绘制词云图。设置词云的字号、字体、背景颜色、颜色集,用generate()生成词云,并加以保存和展示。上述代码见图14。
图15是微博数随时间变化的折线图。可以看到,新能源汽车相关的微博数量于2020年9月达到低谷,于2020年1月和2020年3月达到次高峰,顶峰出现在最新的时间2021年1月。2020年4月,比亚迪“刀片”电池新闻引起广泛关注;2020年年底,国务院办公厅印发《新能源汽车产业发展规划(2021-2035年)》作为新能源汽车行业纲领性政策,引发热烈关注。折线图整体呈增加趋势,预测后续新能源汽车相关的微博数量会继续增加,人们对新能源汽车的关注会持续升温。
1. <a id="_Toc123679799"></a><a id="_Toc123679955"></a>性别分布随时间变化
图16是不同性别微博数随时间变化的堆积面积图。新能源汽车相关的微博的男女比例约为3:1,所以男性比女性更关注新能源汽车。不仅如此,这个比例在逐渐增加,新能源汽车的推广要加强对女性消费者的宣传力度。
1. <a id="_Toc123679800"></a><a id="_Toc123679956"></a>地域分布
图17是地域分布地理图。对新能源汽车关注最多的是浙江省,微博数达到4000条以上其次是贵州省和江苏省,微博数达到1000条以上。这个结果与常识不符,一般认为对新能源汽车关注最高的应在一线城市,但是本次实验的结果却显示二三线城市的关注度很高,或许与样本有关。这也表示新能源汽车还需要进一步推广。
1. <a id="_Toc123679801"></a><a id="_Toc123679957"></a>热门微博
图18是热门微博的举例。截图展示了转、评、赞总数排名前5的微博信息。排名第1位的微博是关于比亚迪于2020年3月底发布的刀片电池,该电池采用磷酸铁锂技术,是新能源汽车电池技术的一大进步;排名第2位的微博是关于南京市溧水区开沃汽车入选“2019年胡润全球独角兽榜”;同时,排名第3位的微博是关于2020年底中国成为世界上规模最大的汽车保有国,代表中国的新能源汽车产业走向世界;排名第4位的微博是关于新能源重卡领域的发展,这是溧水第二次出现在热门榜单,而且关于重卡的“冷门”领域,说明南京溧水在新能源汽车领域发展突出;排名第4位的微博是在指责中国汽车集团在研发方面的投入过少,与宣传投入相当,发布于2019年6月,说明中国汽车还需要在研发方面投入更多。
综上,关于技术、研发方面的新闻会更受微博用户关注,说明新能源汽车还在技术发展阶段,中国的新能源汽车产业在技术方面还有很大的发展空间。
1. <a id="_Toc123679802"></a><a id="_Toc123679958"></a>微博情绪随时间变化
图19是不同微博情绪随时间变化的堆积面积图。由左图可知,中性情绪的占比最大。右图是除去中性情绪后剩下5种情绪的堆积面积图,由右图可知,愤怒、恐惧、喜悦的情绪占比相当,悲伤情绪占比较少,惊奇情绪几乎没有。愤怒、恐惧情绪与汽车事故有关,强烈的负面情绪也会更吸引关注,喜悦情绪与产业发展有关,新能源汽车相关话题很难与悲伤情绪相关。
表1、2、3、分别是关键词表、积极情绪关键词表和消极情绪关键词表。
由表1可知,“特斯拉”说明人们对车企特斯拉关注度很高,特斯拉公司是新能源汽车产业的龙头;“科技”、“发展”、“增长”说明新能源汽车产业仍在技术发展阶段,人们对技术的信任度可能不够高;“疫情”说明疫情可能对新能源汽车市场有一定冲击;“充电”、“清洁”说明人们对充电技术和清洁能源关注较多,充电技术是新能源汽车技术中的关键技术,清洁能源是汽车产业发展的难点;“基建”说明新能源汽车产业发展和基建发展息息相关。由表2可知,人们对新能源相关股票板块有很大的信心,股价有望上涨。由表3可知,补贴退坡政策可能对新能源汽车发展产生阻力。
- 1. 关键词表
前20个关键词:
新能源;汽车;2019;2020;特斯拉;企业;A股;10;市场;中国;公司;科技;发展;亿元;产业;11;12;疫情;充电;增长
前10个关键词-形容词:
基建;清洁;先进;配套;连续;健康;稳定;成功;较大;落实
前10个关键词-名词:
新能源;汽车;企业;A股;市场;公司;科技;产业;疫情;板块
前10个关键词-动词:
充电;增长;创新;制造;上涨;提升;发布;有望;推动;关注
- 1. 积极情绪关键词表
前20个关键词:
新能源;汽车;2019;2020;A股;企业;市场;科技;中国;发展;特斯拉;产业;公司;亿元;疫情;5G;10;投资;行业;板块
前10个关键词-形容词:
基建;先进;清洁;配套;连续;健康;稳定;成功;较大;落实
前10个关键词-名词:
新能源;汽车;A股;企业;市场;科技;产业;公司;疫情;行业
前10个关键词-动词:
增长;创新;充电;制造;提升;关注;有望;上涨;推动;推进
- 1. 消极情绪关键词表
前20个关键词:
新能源;汽车;特斯拉;10;2020;充电;11;2019;1027;12;补贴;公司;万辆;同比;20;30;车辆;亿元;工信部;销量
前10个关键词-形容词:
清洁;连续;配套;基建;合同;稳定;平均;健康;平安;落实
前10个关键词-名词:
新能源;汽车;补贴;公司;车辆;销量;能源;企业;电动汽车;有限公司
前10个关键词-动词:
充电;发布;增长;限行;下降;退坡;上涨;产销;相关;超过
表4、5、6、分别是LDA主题模型表、积极情绪的LDA主题模型表和消极情绪的LDA主题模型表。
由表4可知,国产新能源汽车品牌“零跑”、新能源股票板块、中国新能源汽车企业的投资是相关微博的三大主题。由表5可知,人们对新能源股票看涨,保持积极心态。由表6可知,人们对新能源车企特斯拉呈消极情绪,同时,充电技术的发展可能不顺利。
- 1. LDA主题模型结果
0:
1:
2:
"央行"(0.014)
"汽车"(0.013)
"亿元"(0.011)
"新能源"(0.009)
"零跑"(0.008)
"汽车"(0.008)
"市场"(0.008)
"新能源"(0.008)
"点"(0.006)
"板块"(0.006)
"新能源"(0.014)
"汽车"(0.014)
"中国"(0.007)
"企业"(0.006)
"投资"(0.006)
- 1. 积极情绪LDA主题模型结果
0:
1:
2:
"市场"(0.012)
"板块"(0.008)
"新能源"(0.006)
"行业"(0.006)
"A股"(0.006)
"汽车"(0.010)
"发展"(0.009)
"企业"(0.009)
"中国"(0.008)
"新能源"(0.008)
"汽车"(0.010)
"新能源"(0.008)
"公司"(0.008)
"中国"(0.008)
"点"(0.007)
- 1. 消极情绪LDA主题模型结果
0:
1:
2:
"汽车"(0.018)
"新能源"(0.013)
"公司"(0.008)
"1027"(0.006)
"特斯拉"(0.006)
"新能源"(0.028)
"汽车"(0.022)
"充电"(0.009)
"车"(0.006)
"e"(0.006)
"汽车"(0.019)
"新能源"(0.016)
"公司"(0.006)
"中国"(0.006)
"企业"(0.004)
图20、21分别是词云图、积极情绪的词云图和消极情绪的词云图。热门关键词有“新能源”、“企业”、“汽车”、“特斯拉”、“中国”等,积极情绪的热门关键词有“A股”、“科技”、“投资”、“中国”等,消极情绪的热门关键词有“特斯拉”、“比亚迪”、“充电”。说明人们对中国的新能源汽车的市场发展、产业发展和科技发展呈积极态度,对特斯拉的消极态度更多,与上述分析结论一致。
本文对新能源汽车相关微博进行了基础分析和文本分析,对中国新能源汽车消费者特征进行分析,结论如下:
基于上述结论,本文对中国新能源汽车产业发展做出如下建议: